export class LogService {
  private logger: UniApp.RealtimeLogManager | null = uni.getRealtimeLogManager ? uni.getRealtimeLogManager() : null;

  /**
   * 打印普通信息
   * @param args 信息参数
   * @returns
   */
  info(...args: any[]) {
    console.info.apply(this.logger, args);
    if (!this.logger) return;
    this.logger?.info(args);
    return this.logger;
  }

  /**
   * 打印警告信息
   * @param args 信息参数
   * @returns
   */
  warn(...args: any[]) {
    console.warn.apply(this.logger, args);
    if (!this.logger) return;
    this.logger?.warn(args);
    return this.logger;
  }

  /**
   * 打印错误信息
   * @param args 信息参数
   * @returns
   */
  error(...args: any[]) {
    console.error.apply(this.logger, args);
    if (!this.logger) return;
    this.logger?.error(args);
    return this.logger;
  }

  /**
   * 设置过滤关键字 最低基础库： 2.7.3
   * @param msg 关键字
   * @returns void
   */
  setFilterMsg(msg: string) {
    if (!this.logger) return;
    this.logger?.setFilterMsg(msg);
    return this.logger;
  }

  /**
   * 添加过滤关键字 最低基础库： 2.8.1
   * @param msg 关键字
   * @returns void
   */
  addFilterMsg(msg: string) {
    if (!this.logger) return;
    this.logger?.addFilterMsg(msg);
    return this.logger;
  }
}

export const log = new LogService();
